To satisfy the increasing demands for wireless data traffic since commercialization of 4th generation (4G) communication systems, efforts have been made to develop an improved 5th generation (5G) communication system or a pre-5G communication system. For this reason, the 5G or pre-5G communication system is referred to as a beyond-4G or post long term evolution (LTE) system.
To achieve high data rates, deployment of the 5G communication system in a millimeter wave (mmWave) band (for example, a 60-GHz band) is under consideration. For the 5G system, beamforming, massive multiple input multiple output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beamforming, and large-scale antenna techniques have been discussed in order to mitigate the path loss and propagation distance of waves.
Further, for network improvement in a system, technologies such as advanced small cell, cloud radio access network (RAN), ultra-dense network, device-to-device (D2D) communication, wireless backhaul, moving network, cooperative communication, coordinated multi-point (CoMP), and interference cancellation have been developed in the 5G system.
Besides, advanced coding modulation (ACM) techniques such as hybrid FSK and QAM modulation (FQAM) and sliding window superposition coding (SWSC), and advanced access techniques such as filter bank multi carrier (FBMC), non-orthogonal multiple access (NOMA), and sparse code multiple access (SCMA) have been developed in the 5G system.
In a communication system, a TCP algorithm for stable transmission control is performed in the transport layer of the open systems interconnection reference model (OSI) or TCP/Internet protocol (IP) layer classifications. The roles of the transport layer in TCP are divided into flow control and congestion control.
The flow control is intended to control the amount of data to be transmitted over a network according to the state and performance of a receiver by a transmitter in a multi-hop network including the Internet. The congestion control is intended to reduce a packet loss caused by a network load according to the states and performances of links in a network. The congestion control functions to ensure fairness between a plurality of network flows sharing a network.
Conventional TCP algorithms include, for example, TCP Tahoe, TCP Reno, TCP New Reno, TCP Vegas, high-speed TCP, FAST TCP, TCP Westwood, TCP FIT, Compound TCP, TCP BIC, and TCP CUBIC. The top-priority aim of designing a TCP algorithm is to fast detect the available bandwidth of a given network and maximize the utilization of the available bandwidth (that is, maximize a transmission rate).
For this purpose, most of TCP algorithms fast detect a maximum available bandwidth (that is, a maximum transmission rate) by aggressively increasing the amount of packet data transmitted to a network, simultaneously with starting transmission control. The increased aggressiveness of packet transmission may lead to fast detection of an available bandwidth, but impairs fairness with other TCP flows. Accordingly, to overcome the fairness problem, for example, TCP CUBIC used as a default TCP in Linux and so on including Android-based operating systems (OSs) for terminals is designed to have high aggressiveness but allow temporary switching to low aggressiveness so as to ensure fairness with other TCP flows, simultaneously with fast detection of an available bandwidth.
One thing to note with fast detection of an available bandwidth in the conventional TCP algorithms is that the available bandwidth of a network is not managed directly and recorded. Because entry and termination of a plurality of TCP flows occur frequently in the available bandwidth of the network, the available bandwidth of the network may not be maintained to be constant and thus may not be represented as a specific constant value. Therefore, a determination as to whether the available bandwidth has been reached may be replaced with a determination as to whether the network is ‘congested’ in the process of increasing the amount of packet data transmitted (introduced) to the network according to an algorithm. The basis of the replacement lies in that the meaning of congestion that ‘introduction of more packets decreases the total network performance’ is substantially identical to the meaning of an available bandwidth being ‘a maximum value for an appropriate amount of packet data that can be introduced’.
TCP algorithms determine congestion largely by loss-based TCP and delay-based TCP. However, almost all of the TCP algorithms rely on loss-based TCP, for congestion determination. In loss-based TCP, it is determined based on packet drop that a network is congested, whereas in delay-based TCP, it is determined that a network is congested, based on an increment from an initial delay time (for example, a base round trip time (RTT)).
Despite their advantage of accurate detection of a maximum value for an available bandwidth, the loss-based TCP algorithms occupying the most proportion of the conventional TCP algorithms continuously cause packet loss for the accurate detection of the maximum value. If the cause of the packet loss is a radio channel, they have fundamental limitations leading to failure in detecting an accurate bandwidth. However, if a radio channel fails in transmitting a packet in a beyond 3G mobile communication network, the media access control (MAC) layer recovers the packet, and the packet loss on the radio channel may be hidden by a method for adaptively setting a modulation and coding scheme (MCS) level according to a channel or the like, so that a transmitter and a receiver may not perceive the packet loss. Therefore, activation of loss-based TCP in an up-to-date wireless environment may not bring about great performance degradation in terms of transmission rate.
On the other hand, the delay-based TCP algorithms are advantageous in that packet loss can be prevented and a delay can be maintained at an appropriate level since congestion can be controlled based on a delay increase before direct packet loss occurs in a network. However, they have difficulty in dynamically detecting a maximum value for an available bandwidth due to conservative bandwidth detection relative to the loss-based TCP algorithms, or may suffer from a severe problem of losing the available bandwidth detection function if an initial time delay based on which the TCP algorithms are operated is not valid due to a rapid change in the state of the network.
Specifically, among the loss-based TCP algorithms, for example, TCP New Reno standardized as request for comments (RFC) 6582 and widely used, and TCP CUBIC used as a default TCP algorithm for Linux update a congestion window (CWND) by which the amount of packet data transmitted (introduced) to a network is determined by the following [Equation 1].TCP New Reno:CWND(i)=2*CWND(i−1)CWND (i−1)<SSThresholdCWND(i)=CWND(i−1)+1 CWND(i−1)≥SSThresholdTCP CUBIC:CWND(i)=C(t−K)3+W_max  Equation 1
In [Equation 1], CWND represents a congestion window, i represents an RTT time slot, SSThreshold represents a threshold based on which an increase rate of CWND is determined, and W_max represents the size of a window shortly before a packet loss occurs.
FIG. 1 illustrates an exemplary operation of a congestion window in TCP New Reno.
Referring to FIG. 1, the congestion window, CWND of TCP New Reno is doubled each time during a time period at a slow start threshold (SSThreshold), and is increased by 1 each time during a time period at or above SSThreshold. If packet losses 101 and 103 occur, SSThreshold is set to CWND(i)/2, and after CWND decreases so that CWND(i+1)=SSThreshold 111, CWND increases again. Upon occurrence of a retransmission timeout (RTO) due to non-recovery of a lost packet during a predetermined time period as in the example illustrated in FIG. 1, SSThreshold is set to CWND(i)/2 as indicated by reference numeral 113, CWND(i+1) is reset to 1, and then CWND increases again.
FIG. 2 illustrates an exemplary operation of a congestion window in TCP CUBIC.
Referring to FIG. 2, the congestion window CWND of TCP CUBIC is characterized by an increase in the form of a cubic function for time t which is a time after previous packet losses 201 and 203 occur (a time after the starting time of a flow in an initial state in which a previous packet time is not determined). Upon occurrence of a packet loss, W_max=β*CWND(i−1), and K=(β*W_max/C)⅓, as indicated by reference numerals 213 and 223. Herein, C is a constant and may be tuned to values near to 0.8 and 0.4, respectively.
Among the delay-based TCP algorithms, FAST TCP used in the field of content delivery network (CDN) updates a congestion window by [Equation 2] below.CWND(i)=(1−γ)*CWND(i−1)+γ*(CWND(i−1)*(baseRTT/RTT(i))+α)  Equation 2
[Equation 2] will be described. The congestion window update of FAST TCP is determined to be a median value between the constants γ(ϵ(0, 1)) of a new congestion window determined by a combination of a ratio of a current observed time delay to an initial time delay and a constant, and a previous congestion window. The constant γ(ϵ(0, 1)) is a weighted moving average for use in determining a ratio between a previous value and a current value, which is reflected in calculation of an average value. The constant represents the number of packets to be stored always in a network buffer according to FAST TCP. Like TCP New Reno, the congestion window of FAST TCP increases or decreases according to a combination of a constant-based linear increase component and an RTT increase-based proportional decrease component.
FIG. 3 illustrates an exemplary operation of a congestion window in FAST TCP. The congestion window of FAST TCP may converge into a point at which its increase and decrease components are balanced (CWMD convergence). In general, α and γ are set to values near to 200 and 0.5, respectively.
The above-described conventional TCP algorithms focus on throughout maximization within an available bandwidth. Therefore, the conventional TCP algorithms have high maximum transmission rates on the whole, and differ mostly in time taken to achieve a maximum transmission rate, a scheme of increasing a congestion window to increase a transmission rate, a congestion avoidance scheme in the case where congestion is sensed due to packet loss, and a transmission rate loss in the case where packet loss continuously occurs.
As TCP algorithms have been designed in a transmission rate-oriented manner for a long time as described above, another important performance index, delay performance has not been considered directly in the conventional TCP algorithms. Therefore, there is a need for an improved TCP algorithm for consistently ensuring both a high transmission rate and a short time delay which are essential to realization of future-generation high valued network services such as remote operation, haptic control, and realistic communication.